if event.postback.data[:9] == "Schedule:":
choose=str(event.postback.data[9:]) #選擇 時刻表 要的查看組別名稱
list=[]
for data in User_Info.objects.filter(team=choose):
new_body={
"type": "button",
"action": {
"type": "postback",
"label": data.name,
"data": "Name="+data.name
},
"margin": "sm",
"color": "#0066ff",
"style": "primary"
}
list.append(dict(new_body))
line_bot_api.reply_message(
event.reply_token,
Name().content(list)
)
if event.postback.data[:5] == "Name=":#選擇時刻表_姓名後列出項目
data=User_Info.objects.get(name=event.postback.data[5:])
if data.update_project == "":
data.update_project="[本日尚未回報進度]"
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text="姓名:"+data.name+"\n"+"[最新簽到時間]:"+data.date+"\n"+"[近期七天簽到時間]:"+data.date_day1+"\n")
)
選擇要查看的組別後,便會以迴圈的方式來找到符合選取的組別for data in User_Info.objects.filter(team=choose): ,而new_body相當是一個使用者一個按鈕,
因為不用迴圈的話就無法根據有幾位使用者來生成剛好數量的按鈕,最後用 list.append(dict(new_body))把dict格式存到list裡面,將list回傳並呼叫樣板產生按鈕
點擊上方生成出來使用者的按鈕,if data.update_project == "":判斷使用者尚未回報進度,該欄位為空值將會把欄位儲存成[本日尚未回報進度],若不是空值將會印出使用者的姓名、最新簽到時間、近期七天簽到時間。
今天的歌曲是 周杰倫-一路向北 All the Way North
https://www.youtube.com/watch?v=L229QDxDakU&list=PLFl6Na2uUoOZBEhBtQ_jeGA4P1V20JvpW&index=21&ab_channel=%E5%91%A8%E6%9D%B0%E5%80%ABJayChou